Health tracking system with restaurant matching

ABSTRACT

A system and method of providing nutritional data for a user is disclosed herein. The method includes receiving a selected restaurant from a personal electronic device, and providing menu data for the user based on the selected restaurant. The method further includes receiving a selected menu item from the personal electronic device, associating the selected menu item with a plurality of food items in a database, and providing the plurality of food items for the user. Furthermore, the method includes receiving a selected one of the plurality of food items from the personal electronic device, and providing nutritional data based on the selected one of the plurality of food items.

FIELD

This document relates to the field health and fitness tracking devices,and particularly to devices configured to collect and displaynutritional information for a user.

BACKGROUND

Health and fitness tracking devices are increasingly utilized byindividuals interested in tracking metrics related to their personalhealth and fitness. These health and fitness tracking devices (which mayalso be referred to herein as “health tracking devices”) typicallyinclude a user interface provided on a personal electronic device suchas a smartphone, laptop computer, or other computer. The user interfaceprovides the user with any of various health, fitness and activityrelated data such as food and nutritional consumption, calorieexpenditure, heart rate, distance traveled, steps taken, etc. Healthtracking devices often use data collected from associated sensors wornby the user, such as heart rate monitors, step counters, stair counters,global positioning system (“GPS”) tracking devices, as well as variousother motion tracking and biometric monitoring devices. Such sensors areallow the user to easily track and automatically log activityinformation with the health tracking device. The term “health trackingsystem” as used herein refers to a health tracking system and/or healthand fitness tracking system which includes a health tracking device butwhich may or may not be used in association with any sensor device.

While activity data is relatively easy to enter into a health trackingdevice, challenges exist with entry of food and beverage consumption andrelated calorie and nutritional data (the term “food” as used hereinrefers to either of or both of foods and beverages). In particular, theuser must manually log this data into the health tracking system inorder for the system to properly monitor calorie consumption andnutritional health. This process of manually entering food consumptioninto the system along with calorie and nutritional data is often timeconsuming and cumbersome. Moreover, it is often difficult for users toaccurately determine the calorie and nutritional content of the foodsthey eat, so the calorie consumption and nutritional data entered intothe health tracking system is often inaccurate.

In view of the foregoing, it would be advantageous to provide a healthtracking system and related method that allows the user to more quicklyand easily enter calorie consumption and nutritional content into ahealth tracking system. It would also be advantageous if such a systemand method provided the user with more accurate calorie consumption andnutritional data for entry into the system in association with foodsconsumed by the user. Moreover, it would be advantageous if such asystem and method could be used to make healthy food choices.

SUMMARY

In accordance with one exemplary embodiment of the disclosure, there isprovided a method of providing nutritional data for a user. The methodcomprises receiving a selected restaurant from a personal electronicdevice, and providing menu data for the user based on the selectedrestaurant. The method further comprises receiving a selected menu itemfrom the personal electronic device, associating the selected menu itemwith a plurality of food items in a database, and providing theplurality of food items for the user. Furthermore, the method comprisesreceiving a selected one of the plurality of food items from thepersonal electronic device, and providing nutritional data based on theselected one of the plurality of food items.

Pursuant to another exemplary embodiment of the disclosure, there isdisclosed system for providing nutritional data to a user. The systemcomprises a personal electronic device, a database, and a dataprocessing system. The personal electronic device is configured to (i)provide geo-location data for the user, (ii) display menu items, fooditems, and nutritional data, and (iii) allow the user to select menuitems and food items. The database is configured to store the food itemsand the nutritional data. The data processing system is configured to(i) receive menu items selected by the user (ii) associate the selectedmenu items with a plurality of food items, (iii) provide the pluralityof food items to the user, (iv) receive a selected food item from theuser, the selected food item one of the plurality of food items providedto the user, and (v) provide nutritional data to the user, thenutritional data associated with the selected food item.

In accordance with yet another exemplary embodiment of the disclosure, anon-transient computer readable medium is disclosed containinginstructions for providing nutritional data. The computer readablemedium contains instructions for providing nutritional data by receivinga selected restaurant from a personal electronic device, providing menudata for the user based on the selected restaurant, receiving a selectedmenu item from the personal electronic device, and associating theselected menu item with a plurality of food items in a database. Afterassociating the selected menu item with the plurality of food items, thecomputer readable medium contains instructions for providing theplurality of food items for the user, receiving a selected one of theplurality of food items from the personal electronic device, andproviding nutritional data based on the selected one of the plurality offood items.

The above described features and advantages, as well as others, willbecome more readily apparent to those of ordinary skill in the art byreference to the following detailed description and accompanyingdrawings. While it would be desirable to provide a health trackingdevice and associated method that provides one or more of these or otheradvantageous features, the teachings disclosed herein extend to thoseembodiments which fall within the scope of the appended claims,regardless of whether they accomplish one or more of the above-mentionedadvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a diagrammatic representation of an exemplary embodiment ofa health tracking system including a personal electronics device incommunication with a system server;

FIG. 2 shows a block diagram of an exemplary personal electronics devicefor use in association with the health tracking system of FIG. 1;

FIG. 3 shows a block diagram of an exemplary system server for use inassociation with the health tracking system of FIG. 1;

FIG. 4 shows an exemplary screen shot of a restaurant search viewcontroller provided by a health tracking application of the healthtracking system and displayed on the personal electronics device of FIG.2;

FIG. 5 shows an exemplary screen shot of a restaurant menu viewcontroller provided by the health tracking application and displayed onthe personal electronics device of FIG. 2;

FIG. 6 shows an exemplary screen shot of a match page of the restaurantsearch view controller provided by the health tracking application anddisplayed on the personal electronics device of FIG. 2;

FIG. 7 shows an exemplary screen shot of a food summary view controllerprovided by the health tracking application and displayed on thepersonal electronics device of FIG. 2;

FIG. 8 shows an exemplary screen shot of a restaurant nutrition viewcontroller provided by the health tracking application and displayed onthe personal electronics device of FIG. 2;

FIG. 9 shows an exemplary screen shot of a recipe view controllerprovided by the health tracking application and displayed on thepersonal electronics device of FIG. 2; and

FIG. 10 shows a method of providing nutritional data for a user usingthe health tracking system of FIG. 1.

DESCRIPTION

With reference to FIG. 1, an exemplary embodiment of a health trackingsystem 100 is shown. The health tracking system 100 includes a personalelectronic device 110 configured to communicate with a data processingsystem such as a system server 230 over a network 220. The personalelectronic device 110 is configured to determine a user location andprovide the user with information concerning nearby restaurants. Thepersonal electronic device is configured to allow the user to viewrestaurant menus and select menu items from the restaurant menus. Thesystem server 230 receives the selected menu items from the personalelectronic device 110 and matches each selected menu item with a numberof food items from an associated database in the memory 234. Matchedfood items are presented to the user on the personal electronic device110. The user may select one of the matched food items on the personalelectronic device 102 in order to view nutritional information or logfood consumption for a particular day.

Personal Electronic Device

The personal electronic device 110 may be provided in any of variousforms. A primary example of a personal electronic device 110 configuredfor use with the health tracking system 200 is a smartphone 120, asshown in FIG. 1. Additional examples of personal electronic devicesinclude handheld or tablet computers, smart watches, laptop computers,portable media players, or any of various other personal electronicdevices configured to be carried by the user and capable ofcommunicating with other electronic devices using wirelesscommunications protocols. Accordingly, the term “personal electronicdevice” generally refers to a portable electronic device configured forwireless communication with other electronic devices. The term“computing device” as used herein refers to personal electronic devices,standalone or stationary computing devices such as desktop computers orother non-portable computers, or mobile computing devices associatedwith a vehicle occupied by the user. As shown in FIG. 1, the personalelectronic devices 110 disclosed herein are generally configured toutilize various communications infrastructures and systems, such assatellites 202 of the global positioning system (GPS), cell towers 212of a mobile telephony network, and servers and routers of a computernetwork 220 such as the internet.

With reference now to FIG. 2, in at least one embodiment the personalelectronic device 110 is a smartphone 120 and includes a display screen134, an input/output interface 136, a processor 137, a memory 138, andone or more transceivers 139. The smartphone 120 also includes aprotective outer shell or housing 132 designed to retain and protectsthe electronic components positioned within the housing 132. Thesmartphone 120 also includes a battery (not shown) configured to powerthe display screen 134, processor 137, transceivers 139 and variousother the electronic components within the smartphone 120. As will berecognized by those of ordinary skill in the art, the components of thepersonal electronic device 110 may vary depending on the type of displaydevice used. Such alternative personal electronic devices may includemuch of the same functionality and components as the smartphone 120shown in FIGS. 1 and 2, but may not include all the same functionalityor components.

The I/O interface 136 of the smartphone 140 includes software andhardware configured to facilitate communications with the user. Thehardware of the I/O interface includes the display screen 134 configuredto visually display graphics, text and other data to the user. Thedisplay screen 134 of the smartphone 120 may be an LED screen or any ofvarious other screens appropriate for the personal electronic device. Inat least one embodiment, the display screen 134 is an LED-backlittouchscreen that allows the user to make selections, type, or otherwiseprovide input directly on the screen using his or her finger or a stylusdevice. In addition to the display screen 134, the I/O interface 136 mayinclude additional hardware such as a microphone and speakers tofacilitate audio communications with the user.

The processor 137 of the smartphone 120 may be any of various processorsas will be recognized by those of ordinary skill in the art. Theprocessor 137 is connected to the I/O interface 136, the memory 138, andthe transceivers 139, and is configured to deliver data to and receivedata from each of these components. It will be recognized by those ofordinary skill in the art that a “processor” includes any hardwaresystem, hardware mechanism or hardware component that processes data,signals or other information. A processor can include a system with acentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems.

The memory 138 is configured to store information, including data andinstructions for execution by the processor 137. The data may includeany of various types of data that may be useful to the computing deviceand any associated applications. In the embodiments disclosed herein,the data may include restaurant data, menu data, food item data, andnutritional data related to foods served at any of various restaurants.The instructions may include a graphical user interface configured toprovide a health tracking application on the smartphone 120. Operationof such a health tracking app and exemplary uses of the data isdescribed in further detail below.

The memory 138 that retains the data and instructions may be of any typeof device capable of storing information accessible by the processor,such as a memory card, ROM, RAM, write-capable memories, read-onlymemories, hard drives, discs, flash memory, or any of various othercomputer-readable medium serving as data storage devices as will berecognized by those of ordinary skill in the art. Portions of the systemand methods described herein may be implemented in suitable softwarecode that may reside within the memory as software or firmware. Acomputer program product implementing an embodiment disclosed herein maytherefore comprise one or more computer-readable storage media storingcomputer instructions translatable by a processor to provide anembodiment of a system or perform an embodiment of a method disclosedherein. Computer instructions may be provided by lines of code in any ofvarious languages as will be recognized by those of ordinary skill inthe art. A “non-transient computer-readable medium” may be any type ofdata storage medium that can store computer instructions, including, butnot limited to the memory devices discussed above.

The at least one transceiver 139 may be any of various transceiversconfigured for wireless or wired communication with other electronicdevices, including the ability to send communication signals and receivecommunication signals. The transceivers 139 may include different typesof transceivers configured to communicate with different networks andsystems. Such transceivers are well known and will be recognized bythose of ordinary skill in the art. The transceivers typically performwireless communications. However, in at least one embodiment, thetransmitters may be used in association with data ports requiring aphysical (i.e., wired) connection to another device prior totransmission of the data.

In at least one embodiment, the transceivers 139 are configured to allowthe smartphone 120 to perform wireless communications with a wirelesstelephony network, as will be recognized by those of ordinary skill inthe art. The wireless telephony network may comprise any of severalknown or future network types. For example, the wireless telephonynetwork may comprise commonly used cellular phone networks using CDMA,GSM or FDMA communication schemes, as well as various other current orfuture wireless telecommunications arrangements.

In the embodiment disclosed herein, the transceivers 139 further includeGPS receivers configured to receive GPS signals from GPS satellites 202.Accordingly, the smartphone 120 or other personal electronic device maybe a geo-position enabled device configured to determine its locationbased on received signals utilized by the health tracking system 100.While the smartphone 120 is described herein as being a GPS-enableddevice, it will be appreciated that in other embodiments, othergeo-position devices may be provided utilizing signals and technologiesother than GPS.

In addition to transceivers configured to communicate with the cellulartowers 212 of a wireless telephony network, and receive signals from GPSsatellites 202, the transceivers 139 may also be configured tocommunicate with any of various other electronics devices and networksusing any of various communication schemes. For example, thetransceivers 139 may also be configured to allow the smartphone 120 tocommunicate with any of various local area networks using WiFi,Bluetooth® or any of various other communications schemes.

In at least one embodiment, the smartphone 120 is configured to collectsensor data from one or more sensors which are associated with the user.Such sensors may include sensors worn or carried by the user separatefrom the smartphone 120, or sensors included on the smartphone 120.Exemplary sensors may include heart rate monitors, accelerometers,breathing sensor, temperature sensors, or any of various other sensorstypically associated with athletic activity. Exemplary sensor data mayinclude heart rate, power, motion, movement, speed, range, distance,acceleration data, etc. Sensor data may include physiological data(e.g., heart rate, breathing rate, temperature, etc.) or contextualreadings or calculations (e.g., distance traveled, acceleration, etc.),or estimates of such associated with various physical activities of theuser.

Data Processing System

With reference now to FIG. 3, a block diagram of an exemplary embodimentof the system server 230 of FIG. 1 is shown. It should be appreciatedthat the embodiment of the system server 230 shown in FIG. 3 is only oneexemplary embodiment of a system server 230. As such, the exemplaryembodiment of the system server 230 of FIG. 3 is merely representativeof any of various manners or configurations of system servers or otherdata processing systems that are operative in the manner set forthherein.

The system server 230 of FIG. 3 is typically provided in a housing,cabinet or the like 231 that is configured in a typical manner for aserver or related computing device. The system server 230 includesprocessing circuitry/logic 232, memory 234, a power module 236, a userinterface 238, a network communications module 240, and a wirelesstransceiver 242.

The processing circuitry/logic 232 is operative, configured and/oradapted to operate the system server 230 including the features,functionality, characteristics and/or the like as described herein. Tothis end, the processing circuit 232 is operably connected to all of theelements of the system server 230 described below. The processingcircuitry/logic 232 is typically under the control of programinstructions 244, programming software or firmware contained in memory234. The program instructions include a health tracking app 248 asexplained in further detail below. In addition to storing theinstructions 244, the memory 234 also stores data 250 for use by thecollection app 244. The data 250 includes user profiles 252, restaurantdatabase 254, a menu database 256, a food items database 258, records260 and graphics.

With continued reference to FIG. 3, the power module 236 of the systemserver 230 is operative, adapted and/or configured to supply appropriateelectricity to the system server 230 (i.e., including the variouscomponents of the system server 230). The power module 236 may operateon standard 120 volt AC electricity, but may alternatively operate onother AC voltages or include DC power supplied by a battery orbatteries.

The network communication module 240 of the system server 230 allows forcommunication with any of various devices using various means. Inparticular, the network communications module 240 includes a wide areanetwork port that allows for communications with remote computers overthe internet (e.g., network 220 of FIG. 1). The network communicationsmodule 240 further includes a local area network port that allows forcommunication with any of various local computers housed in the same ornearby facility. In at least one embodiment, the local area network portis equipped with a WiFi server 242 or other wireless communicationsdevice. Accordingly, it will be appreciated that communications with thesystem server 230 may occur via wired communications or via the wirelesscommunications. Communications may be accomplished using any of variousknown communications protocols. In the embodiment of FIG. 3, thewireless transceiver is identified as a WiFi transceiver 242, but itwill be recognized that the wireless transceiver could use a differentcommunications protocol.

The system server 230 may be accessed locally. To facilitate localaccess, the system server 230 includes an interactive user interface238. Via interface 228, the user may access the instructions, includingthe health tracking app 248, and may collect data from and store data tothe memory 234. In at least one embodiment, the user interface 238 maysuitably include an LCD type screen or the like, a mouse or otherpointing device, a keyboard or other keypad, speakers, and a microphone,as will be recognized by those of ordinary skill in the art.Accordingly, the user interface 238 is configured to provide anadministrator or other authorized user with access to the memory 234 andallow the authorized user to amend, manipulate and display informationcontained within the memory.

As mentioned above, the memory 234 includes various programs and otherinstructions 244 that may be executed by the processor 232. Inparticular, the memory 234 of the system server 230 of FIG. 3 includesthe health tracking application 248. The health tracking app 248 isconfigured to control the system server 230 in order to allow a human toobtain nutritional data related to any of various food items. Executionof the health tracking application 248 by the processor 232 results insignals being sent to and received from the user interface 238 and thecommunications module 240 to allow a user receive and update theinformation in the food items database 258. Various aspects of the fooditems database 258 are explained in further detail below. The healthtracking app 248 is configured to provide various graphical views andscreen arrangements to be displayed to a user on a personal electronicdevice 110. Examples of such screens for display on a personalelectronic device 110 are provided in FIGS. 4-9, as discussed in furtherdetail below. While a brief description of various features of theexemplary health tracking app 248 is provided in the paragraphs below,it should be appreciated that the health tracking system 100 describedherein is only an exemplary form or configuration for the healthtracking system.

With continued reference to FIG. 3, in addition to the instructions 244,the memory 224 also includes data 250. The data 250 includes userprofiles 252, a restaurants database 254, a menus database 256, a fooditems database 258, records 260, and graphics 262.

The user profiles 252 includes a profile data for each user of thehealth tracking system 100. Each user profile includes demographicinformation for the users such as name, age, gender, height, weight,performance level (e.g., beginner, intermediate, professional, etc.) orother information for the user.

The restaurants database 254 includes restaurant data. The restaurantdata may include any of various types of information concerningrestaurants such as restaurant name, geographic location (e.g.,longitude latitude data), restaurant type (e.g., bar, fast food, finedining, Mexican food, Chinese food, sandwich shop, etc.), and restaurantmenus (e.g., breakfast, lunch, dinner, drinks, desserts, etc.). Asexplained in further detail below, the user may be presented withrestaurant data based on any of various conditions, such as userproximity to the restaurant, a search for the restaurant name or type,etc. The user may select a particular restaurant from the restaurantdata. While FIGS. 1 and 3 show the restaurants database 254 as beingprovided on the system server 230, it will be recognized that inalternative embodiments the restaurants database 254 may be provided atany of various locations, including third party databases and relatedremote memory locations. In at least one embodiment, the health trackingapp 248 is configured to access such third party databases using thirdparty services 222 available via the network 220, as shown in FIG. 1. Insuch embodiment, the health tracking app 248 may utilize any number ofapplication programming interfaces (APIs) to access the data in thethird party databases and incorporate such information for use in thehealth tracking app 248. In some embodiments, and depending on availablelicenses, the data obtained using the third party services 222(including restaurant data) may be copied and saved to the memory 234 ofthe system server 230 such that a partial or complete copy of the remoterestaurants database is maintained on the system server 230. In otherembodiments, each time data from the remote memory location is needed,the health tracking app 248 uses the appropriate APIs to gather therequired information from the third party databases. Any of variousthird party service providers and associated restaurant databases andAPIs may be used by the health tracking app to obtain the restaurantdata. Examples of such third party service providers capable ofproviding restaurant data include Foursquare Labs, Inc. of New York,N.Y., and Yelp, Inc. of San Francisco, Calif. In at least oneembodiment, restaurant information may also be provided by individualrestaurants.

The menus database 256 includes restaurant menus and associated menuitems for each restaurant in the restaurant database 254. The term “menuitem” as used herein refers to data associated with a particular listingon a particular restaurant menu. Menu items are not editable by users ofthe health tracking system, and may only be edited by authorizedpersonnel having editing privileges within the menus database 256. Eachmenu includes some number of menu items, and may also include menucategories or headings. For example, if a restaurant has a dinner menu,that dinner menu may include seven menu items under the “Appetizer”heading, five menu items under the “Salad” heading, ten menu items underthe “Sides” heading, and eight menu items under the “Entrées” heading.Data is retained in the menus database 256 for each menu item. Forexample, the menus database 256 may include a name for the menu item(e.g., “Chicken Cobb Salad”), a brief listing of additional informationfor the menu item (e.g., “500 calories”), a photo of the menu item, orother information intended to quickly convey information about the menuitem to the user. As explained in further detail below, after the userchooses a menu to view (e.g., the “Dinner Menu”), the user may thenselect one of the menu items from such menu. While FIGS. 1 and 3 showthe menus database 256 as being provided on the system server 230, itwill be recognized that in alternative embodiments the menus database256 may be provided at any of various locations, including third partydatabases and related remote memory locations. In at least oneembodiment, the health tracking app 248 is configured to access suchthird party databases using third party services 222 available via thenetwork 220, as shown in FIG. 1. In such embodiment, the health trackingapp 248 may utilize any number of APIs to access the data in the thirdparty databases and incorporate such information for use in the healthtracking app 248. In some embodiments, and depending on availablelicenses, the data obtained using the third party services 222(including the menu items) may be copied and saved to the memory 234 ofthe system server 230 such that a partial or complete copy of the remotemenus database is maintained on the system server 230. In otherembodiments, each time data from the remote memory location is needed,the health tracking app 248 uses the appropriate APIs to gather therequired information from the third party databases. Any of variousthird party service providers and associated restaurant databases andAPIs may be used by the health tracking app to obtain the restaurantdata, including the exemplary third party service provides discussedabove in association with the restaurants database. In at least oneembodiment, menu information may also be provided by individualrestaurants.

The food items database 258 includes a plurality of food items. The term“food item” as used herein refers to data associated with a food thatmay be consumed by a user. As explained in further detail below, in atleast one embodiment, each food item may be either a “food” or a“recipe”. Food items are editable by users or may be created by userswithin the food items database 258 without the need for specialauthorization or privileges. In at least one embodiment, each of thefood items includes a name for the food item, summary information aboutthe food item, and detailed nutritional information about the food item.Detailed information about a food item may include one or more ofserving size, calories, ingredients, or any other nutritionalinformation about the food item. For example, the nutritionalinformation may include information that may be provided on a USDA foodlabels or state-regulated food labels (e.g., vitamin and mineralcontent, fat content, cholesterol content, protein content, sugarcontent, carbohydrate content, fiber content, organic contents, etc.).The summary information about the food item may include some subset ofthe more detailed information about the food item. For example, thesummary information about the food item may only include serving sizeand calorie information. The data associated with a food item istypically more detailed than the data associated with a menu item. Inparticular, food items typically include more detailed nutritionalinformation than menu items. Additionally, food items in the food itemsdatabase 258 may be differentiated from menu items in the menus database256 because the food items database 258 is editable by users, asexplained above, while the menus database 256 is not editable by users.Accordingly, food items are editable by users and/or may be created byusers without special authorization, while menu items are only editableby a system administrator or other authorized personnel. Therefore, itwill be recognized that in at least some embodiments, food items in thefood items database 258 may have been entered by any of various sourcesincluding the administrator of the health tracking system 100,commercial food providers (e.g., restaurant owners), and users of thehealth tracking system 100.

While the data maintained for menu items in the menus database 256 mayresemble the data maintained for food items in the food items database258, no menu item is exclusively associated with a single food item.Instead, as explained in further detail below, the system server matchesa number of food items in the food items database 258 with a menu itemselected by the user. While no menu item is exclusively associated witha single food item, the number of times a food item is matched with amenu item and then selected by a user is also maintained as data withinthe memory of the system server 230 or other data processing system. Thenumber of times that a food item has been selected by a user inassociation with a menu item may then be used by the system 100 todetermine whether a food item should be a match with a selected menuitem when determining future matches for the menu item.

The records 260 include current and historical data stored by the systemserver 230 in association with operation of the system server 230,execution of the health tracking app 248, and manipulation of data 250within the memory 234. For example, the records 260 may includeinformation concerning amendments made to any of various food items 258.The records 260 may also include other information related to thecontrol and operation of the system server 230, including statistical,logging, licensing, and historical information. In at least oneembodiment, the records 260 may also include a food diary/log for eachuser. The food diary/log allows the user to track food consumed by theuser over a period of days and any nutritional data associated with thefood consumed. For example, the food diary/log may allow the user toenter particular food items consumed by the user and keep track of theassociated calories, sugar, carbohydrates, protein, or any of variousother nutritional data associated with the food items entered by theuser in the food diary/log.

The graphical views 262 provide various screen arrangements to bedisplayed to the user in on a personal electronic device 110, as shownin FIG. 1. Examples of such screens for display on a personal electronicdevice 110 are provided in FIGS. 4-9, discussed in further detail below.

While the system server 230 has been explained in the foregoingembodiment as housing the health tracking application 248 and thevarious records and databases in the memory 234, it will be recognizedthat these components may be retained in other locations in associationwith the health tracking system 100. For example, in at least oneembodiment, the restaurant database 254 and the menu database 256 may bedata retained by a third party database separate from the system server230. In such embodiment, the health tracking app may utilize any numberof APIs to access the data in the third party databases and incorporatesuch information for use in the health tracking app 248. Accordingly, itwill be recognized that the description of the system server 230 of FIG.3 is but one exemplary embodiment of a data processing system that maybe utilized by the health tracking system 100.

Health Tracking App

With reference now to FIGS. 4-9, several exemplary screen shots of viewcontrollers for the health tracking app are shown. The view controllersare made available at the system server 230 and presented to users ontheir personal electronic devices 110 via the network 220. The viewcontrollers include a restaurant search view controller 400 (see FIG.4), a restaurant menu view controller 500 (see FIGS. 5-6), a restaurantfood summary view controller (see FIGS. 7-8), and a food nutritiondetails view controller (see FIG. 9). While FIGS. 4-9 show various viewcontrollers of the health tracking app 248 that are associated withnutrition and diet tracking features, it will be recognized that in atleast some embodiments the health tracking app 248 may also includeadditional features, such as activity tracking, sleep tracking, or otherfeatures which may be associated with health tracking apps, as will berecognized by those of ordinary skill in the art.

With particular reference now to FIG. 4, in at least one embodiment, therestaurant search view controller 400 is provided on the screen of apersonal electronic device 110. The restaurant search view controller400 includes a map 402 showing the region where the user is currentlylocated based on GPS data received from the personal electronic device110. The user's current location on the map is shown at mark 404 and anumber of nearby restaurants are shown by marks 406. The restaurantsnoted by marks 406 are listed individually by name and address in thetable listing 408 under the map 402. In at least one embodiment, each ofthe marks 406 on the map may include a reference designator (e.g., A, B,C, D, etc.), and the reference designator may be displayed next to therestaurant in the table listing to assist the user in determining theexact location of each restaurant on the map 402.

The restaurants shown on the map 402 are retrieved from the restaurantsdatabase 254 based on the location of the user and any of variousadditional parameters defined within the health tracking app 248. Forexample, the restaurants shown on the map 402 may limited to apredetermined number of restaurants closest to the user's currentposition (e.g., the closest ten, fifteen or twenty restaurants).Alternatively, if the user is interested in visiting a particularrestaurant or a particular genre of restaurant, the user may use thesearch feature by selecting the search icon 410 and entering aparticular restaurant name or genre of restaurant (e.g., “Starbucks” or“Coffee”). When the user makes use of the search feature, the healthtracking app searches the restaurants database 254 based on the searchterms entered by the user and returns a limited number of restaurants inthe table listing 408 that are most closely associated with the searchterms entered by the user. After reviewing the table listing 408, theuser may select one of the listed restaurants to indicate he or shewould like to see a menu from the selected restaurant. The selection maybe made from the map 402 or from the table listing 408.

With reference now to FIG. 5, after selecting a restaurant from therestaurant search view controller 400, the user is presented with therestaurant menu view controller 500 on the personal electronic device110. Alternatively, if it is determined that a user is actually withinthe premises of a restaurant (based on GPS data) or within apredetermined proximity of a restaurant (e.g., within 10 yards), theuser is automatically presented with the restaurant menu view controllerwithout the need for the user to select any of the restaurants listed inthe table listing 408. In this manner, the health tracking system 100 isadvantageously configured to automatically provide the user withinformation which he or she is most likely interested in based on thecurrent location of the user.

As shown in the example of FIG. 5, the user has selected “Starbucks”from the table listing 408 (or is within the premises of or apredetermined distance from the restaurant), and the restaurant menuview controller 500 is presented to the user. The restaurant menu viewcontroller 500 includes a title block 502, a menu block 504, and a menulisting 506. The title block 502 shows the name of the restaurant (i.e.,“Starbucks”) that the user has selected or which the user is within thepredetermined proximity of. The menu block 504 shows the various menusfor the restaurant that are available for viewing. In this case,Starbucks includes a “Drinks” menu and a “Food” menu, and the user hasselected the “Drinks” menu for viewing. The menu listing 506 may includevarious menu headings 508. In the example of FIG. 5, the menu headings508 include, inter alia, “Starbucks Refreshers™ Beverages” and“Evolution Fresh™”. The menu items 510 are listed below each menuheading 508. Each menu item includes a name and may also include alimited amount of nutritional information for the menu item as containedwithin the menus database 256. In this case, each menu item 510 includesan associated serving size (e.g., 16 oz.) and an associated number ofcalories for the serving size (e.g., 50 calories).

As the user scans the menu items 510, the health tracking app 248searches for “matches” for each listed menu item 510 in the food itemsdatabase 258. Each “match” is an entry in the food items database 258that more closely resembles the menu item than other entries in the fooditems database 258. Accordingly, some limited number of matches isdetermined for each menu item 510 presented to a user (e.g., threematches, five matches, ten matches, etc., of food items from the fooditems database 258 may be matched with each menu item 510). The processof matching a number of food items with a menu item may be determinedaccording to any of various algorithms and methods. For example, in atleast one embodiment, the process of matching may be dependentexclusively on the similarities between the names of the menu item andthe food item. Alternatively, in at least one embodiment, the process ofmatching is dependent at least in part on the number of times the fooditem has been previously matched with the menu item, or the number oftimes other users have selected the food item when the food item ispresented to the user in association with the menu item. In this manner,a type of crowd sourcing may be used in the matching process. Inadditional embodiments, other parameters such as nutritional content maybe used in the matching process. Also, some weighting of parameters maybe used during the matching process. For example, in considering theforegoing examples, similarity in name for the menu item and the fooditem may be most highly weighted, followed by previous matching beingmoderately weighted, and nutritional content similarities may be lowerweighted. Accordingly, it will be recognized that the matching processmay occur using any of various different algorithms and methods. In atleast one embodiment, matches returned by the health tracking app 248for a selected menu item are based at least in part on one or more of:(i) previous selected matches for the menu item, (ii) the location ofthe user (e.g., is the user in a particular restaurant or close to aparticular restaurant), (iii) the menu selected by the user, and/or (iv)a correlation between the name of the selected menu item and the titleof a food item.

While matching occurs as the user views the menu listing 506, thematches returned from the matching process are not presented to the useruntil the user actually selects one of the menu items 510 that he or sheis interested in purchasing or has already purchased. In this manner,the system 100 is configured to compute matches while the user scrollsthrough a menu, such that the system is able to present the matches tothe user more quickly upon selection of a menu item. An exemplaryillustration of the matches presented to the user after selecting a menuitem 510 from the menu listing 506 is described in further detail belowwith reference to FIG. 6.

While the current example of FIG. 5 describes a situation wherein theuser has selected a restaurant with a number of menus, in somesituations the user may select a restaurant that does not have a menu.In these situations, the restaurant menu view controller of FIG. 5 isnot presented to the user. Instead, the health tracking system 100proceeds with matching the restaurant name to a number of food items, asshown in FIG. 6.

With reference now to FIG. 6, after the user selects a menu item fromthe restaurant menu view controller 500 (or if no menu is available,after the user selects a restaurant from the restaurant search viewcontroller 400), the health tracking app 248 provides a match page 600.The match page 600 includes a selected menu item block 602, aninstruction block 604, and a listing block 606 including a number ofmatches 608 from the food items database 258. In the example of FIG. 6,the selected menu item listed in the menu item block 602 is the “CoolLime Starbucks Refreshers™” product from the Starbuck's Drink menu. Thelisting block 606 includes a number of matching food items 608 from thefood items database 258. The instruction block 604 instructs the user tochoose the best match in the listing block 606 for the selected menuitem. In the example of FIG. 6, each of the different food itemsincludes a “Cool Lime Refreshers” beverage, but each of the differentfood items is of a different serving size. Accordingly, the user selectsthe match 608 in the listing block 606 that best represents the drinkthat the user has purchased and consumed or is interested in purchasingand consuming.

With reference now to FIG. 7, after the user selects one of the matches608, the user is presented with a food summary view controller 700. Thefood summary view controller 700 includes a selected match block 702, aserving size block 704, a number of servings block 706, a nutritionsummary block 708, a more nutrition facts link 710, an add item option712, an “Add Additional Food Item” option 714, and a “Report Match”option 716. The selected match block 702 shows the name of the food itemthat the user selected from the match page 600. The serving size block704 shows the serving size of the selected match (e.g., 16 oz.). Thenumber of servings block 706 lists the number of servings the userconsumed or intends to consume (e.g., 1 serving). The nutrition summaryblock 708 lists a summary of nutrition facts for the selected food item(e.g., fat content, carbohydrates, protein, sugar, calories, etc.). Ifthe desired nutritional data is not shown in the nutritional summaryblock 708, the user may select the more nutrition facts link 710, andreview additional nutritional data, similar to the data shown in FIG. 8,described in further detail below.

With continuing reference to FIG. 7, if the user finds the informationdisplayed accurate for a food item that he or she has consumed orintends to consume, the user may add the food item to a consumption logor diary by selecting the “Add Item” option 712. This will cause thehealth tracking application 248 to add the food item to the user's foodconsumed for the day. On the other hand, if the user wishes to modifythe food item, the user may do so in the food summary view controller700. For example, in the embodiment of FIG. 7, the serving size block704 and number of servings 706 are both editable by the user. Thus, ifthe user consumed a 20 oz. serving of the food item, the user simplytaps the “16 oz” entry 705 in the serving size block 704 of FIG. 7, anda text box appears allowing the user to change the serving size from “16oz.” to “20 oz”. Similarly, if the user consumed two servings instead ofone of the listed food item, the user simply taps the “1” entry 707 inthe number of servings block 706, and a text box appears allowing theuser to change the number of servings consumed from “1” to “2”.

After amending the food item by changing either the entry in the servingsize block 704 or the number of servings block 706, the user may enterthe amended food item as a new item in the food items database 258 byselecting the “Add Additional Food Item” option 714. When this option714 is selected, the food items database 258 is updated to include theamended food item as a new item. As an example, if the serving size ofFIG. 7 is amended from “16 oz” to “20 oz”, the user may select the “AddAdditional Food Item” option 714 to add the entry as a new food item inthe food items database 258. As a result, the food items database willinclude at least two food items with the “Cool Lime StarbucksRefreshers™ Beverage” name, one being a 16 oz version and the otherbeing the new 20 oz version.

In addition to the above, if the user believes that a particular fooditem presented to the user on the food summary view controller 700 isinaccurate for some reason, the user may choose the “Report Match asInaccurate” option 716. By selecting this option, the user can submit anentry requesting the system administrator to review a particular item inthe food items database as being inaccurate. For example, if Starbucksdoes not offer a 16 oz version of the “Cool Lime Refreshers™ Beverage”,the user may select the “Report Match as Inaccurate” option 716 and makea note to the system administrator requesting the food items database tobe amended for the reason provided.

As noted above, if the user wishes to obtain even more nutritionalinformation for the selected food item, the user may select the morenutrition facts link 710, as shown in FIG. 7. If the user selects thislink 710, the user is presented with even more nutritional facts for theselected food item in a restaurant nutrition details view controller.For example, FIG. 8 shows a restaurant nutrition view controller 800presented to the user following selection of the more nutrition factslink 710 of FIG. 7. The restaurant nutrition view controller 800includes a selected match block 802, a serving size block 804, a numberof servings block 806, a nutrition summary block 808, and an additionalnutrition facts table 810. The selected match block 802, the servingsize block 804, the number of servings block 806, and the selectednutrition summary block 808 function in the same way as the associatedblocks 702, 704, 706 and 708 operate, as described above. However theadditional nutrition facts table 810 provides additional nutritioninformation that is not provided in the nutrition summary block 808.This additional nutritional information may include any of various typesof more specific nutritional information such as vitamin content, fatcontent, cholesterol content, fiber content, protein content, or any ofvarious additional types of nutritional information as will berecognized by those of ordinary skill in the art.

As noted previously, in at least one embodiment, each food item in thefood items database 258 may be provided as a “food” or a “recipe”. A“food” is defined in a manner such that it cannot be parsed into a listof ingredients (e.g., “chicken sandwich,” without a detailed list of theingredients on the chicken sandwich). While a “food” may have a servingsize (e.g., one, two, etc.), the user does not have the ability to editthe food to remove any particular part of the food item (e.g., the breadcannot be removed from the chicken sandwich) or add anything to the fooditem. On the other hand, a “recipe” is defined in a manner such that itmay be parsed into a list of ingredients (e.g., bread, chicken, lettuce,tomato, mayo, mustard, peppers, etc.). Accordingly, a recipe is editableby the user to remove any particular ingredient (e.g., remove bread fromthe chicken sandwich) or add a particular ingredient (e.g., addmayonnaise to the chicken sandwich). Therefore, “foods” may beconsidered “unitary” (or “homogeneous”) in nature, while “recipes” are“multi-component” (or “heterogeneous”) in nature.

FIG. 9 shows an exemplary embodiment of a recipe ingredients viewcontroller 900 for a food item. The recipe ingredients view controller900 may be displayed when the user selects the more nutrition facts link710 from the food summary view controller 700 (see FIG. 7) and the fooditem being viewed is a recipe instead of a food. In the recipeingredients view controller 900, the user is presented with aningredients list 902 comprising a number of ingredients 904 that arecombined to make the recipe. Nutritional information for each ingredient904 is provided below the ingredient. Additionally, the user may selectthe ingredient 904 in the ingredients list 902 to obtain additionalnutritional information about the ingredient (similar to the nutritionalinformation view controller 800 of FIG. 8). Furthermore, the user maychoose to remove any ingredient in the list or add ingredients. Inparticular, if the user selects the “x” option 906 in the rightmostcolumn of the ingredients list, the ingredient in that row will beremoved from the recipe. Alternatively, if the user selects the “+”option 908 in the header, additional ingredients may be added to therecipe. In this manner, if the food item is a recipe for a “chickensandwich”, the user may easily add or remove ingredients from thechicken sandwich. For example, if the recipe includes “mustard” but not“mayonnaise”, the user may remove the “mustard” ingredient and add“mayonnaise” to arrive at more complete nutritional data for the fooditem that he or she has consumed.

Method of Providing Nutritional Data for a User

With reference now to FIG. 10, a method 1000 of providing nutritionaldata for a user using the health tracking application 248 is shown. Themethod begins with step 1010 wherein the health tracking application 248receives GPS data from the personal electronic device 110 of the user.The health tracking application 248 then provides the restaurant searchview controller to the user (e.g., the exemplary restaurant search viewcontroller 400 of FIG. 4). The user then reviews the restaurantsdisplayed on his or her personal electronic device 110 and selects oneof the restaurants. As noted previously, the restaurants displayed aregenerally based on the location of the user but may also be based on asearch term entered by the user (e.g., a genre of restaurant or aspecific restaurant name). In at least one embodiment, the restaurantmay deemed to be selected by virtue of the user's location within thepremises of the restaurant or in proximity to the restaurant.

In step 1020 of FIG. 10, the health tracking application 248 determineswhether a restaurant has been selected by the user. If no restaurant hasbeen selected by the user, the health tracking application 248 continuesprocessing at step 1010 and receives GPS data from the user. However, ifa restaurant is selected by the user, the health tracking application248 continues processing at step 1030.

At step 1030 of FIG. 10, the health tracking application 248 provides arestaurant menu view controller for the user (e.g., the exemplaryrestaurant menu view controller 500 of FIG. 5). The restaurant menu viewcontroller allows the user to select a menu to view, wherein the viewedmenu is associated with the restaurant. After the user selects one ofthe menus, the health tracking application 248 continues processing atstep 1040.

At step 1040, the health tracking application 248 has received aselected menu from the user and a number of associated menu items fromthe selected menu are provided to the user such that the user may viewthe menu items on his or her personal electronics device 110. As theuser reviews the menu items, the health tracking application 248determines a number of matches for each menu item from the food itemsdatabase 258. The matches are retained by the health trackingapplication 248, but are not displayed for the user until the userselects one of the menu items. In at least one alternative embodiment,the health tracking application 248 does not determine matches for themenu items until one of the menu items is selected by the user. Afterthe user reviews the menu items on his or her personal electronic device110, the user then selects one menu item that is closest to the menuitem that he or she is interested in purchasing (or has alreadypurchased).

At step 1050, the health tracking application 248 receives a selectedmenu item from the user and provides the determined matches for theselected menu item for the user to view on his or her personalelectronic device 110 (e.g., exemplary matches for a selected menu itemare shown in the match page 600 of FIG. 6). The user then selects one ofthese matches as the food item that best represents the food that he orshe intends to consume. The health tracking application 248 continuesprocessing at step 1060 and receives the selected match. The user isthen presented with additional nutritional data about the selectedmatch.

In step 1070, the user is given the option of adding the nutritionaldata for the selected match to his or her food diary/log for the day.Accordingly, if the user has consumed (or intends to consume) theselected match, and the nutritional data for the selected match appearsto be appropriate for the food consumed, the user may simply make aselection to add this nutritional data to his or her food diary/log forthe day (e.g., in the embodiment of FIG. 7, the user may select the “AddItem” option 712). If the user selects to add the nutritional data tothe food diary/log, the health tracking application 248 continuesprocessing at step 1080, and the nutritional information is added to theuser's personal food diary/log. On the other hand, if the user does notwish to add the nutritional data for the selected food item to theuser's personal food diary/log, the user may instead indicate that he orshe wishes to edit the selected foot item at step 1090.

At step 1090 the health tracking app 248 determines whether the userwishes to edit the selected match (e.g., if the user has amended toserving size entry 705 or the number of servings entry 707 for theselected match and has selected the “add additional item” option 714).If the user has indicated that the user wishes to edit the selectedmatch, the health tracking application 248 continues processing bymoving to step 1095 and receiving the edit and creating a new entry inthe food items database 258 for the edited food item. Any of variousedits are possible. For example, in the embodiment of FIG. 7, a changeto the serving size entry 705 or the number of servings entry 707 mayresult in the creation of a new food item. However, changes in any othernutritional data may also be entered as a new food item in the fooditems database 258. If the user does not indicate that he or she isinterested in adding or editing the selected food item (i.e., in steps1070 or 1090) after a given period of time, the user may be return toany previous view controller, or the health tracking app 248 may returnthe user to the restaurant search view controller, as noted in theexemplary embodiment of FIG. 10.

As an example of the above steps 1010-1095, consider the example ofFIGS. 4-9 where the user is presented with a list of restaurants in therestaurant search view controller 400 of FIG. 4 and selects to view themenu of the nearby “Starbucks” restaurant. In FIG. 5, the user ispresented with the Drinks menu from the “Starbucks” restaurant. The userthen selects the “Cool Lime Starbucks Refreshers™ Beverage” menu itemfrom the list of menu items 510 in FIG. 5. In association with selectionof this menu item, the health tracking application 248 searches the fooditems database 258 and retrieves a list of possible food item matches.This list is presented on a match screen 600 of the restaurant menu viewcontroller as shown in FIG. 6. The user then reviews these food itemmatches (shown in FIG. 6) to determine which of these matches mostclosely resembles what the user is interested in ordering (or hasalready ordered) from the restaurant. In this example, the user isinterested in a 16 oz. Cool Lime Refreshers Beverage. The user is notinterested in the 12 oz. (“Tall”) option, the 24 oz. (“Venti”) option,or the “Packet” option. Accordingly, the user selects the first matchpresented on the match screen of FIG. 6 (i.e., the 16 oz. “Cool LimeRefreshers Beverage”). The user is then presented with additionalnutritional data in the restaurant food summary view controller 700 inthe screen of FIG. 7. This screen provides the user with informationabout the selected match, including serving size, fat, carbohydrate,protein, calorie, or other information. If the user would like to postthe selected food item to his or her Food Diary for the day, the usersimply selects the “Add Item” option 712 to enter this food item intothe Food Diary. If the user wishes to amend the information for theselected food item and create a new item in the database, the userselects the “Add Additional Item” option 714, which allows the user tocreate a new food item in the MFP database based on the selected fooditem. Alternatively (or additionally), if any of the information aboutthe food item is incorrect, the user may “Report the match asinaccurate” by selecting option 716. If the user wishes to view evenmore information about the food item before adding the food item to hisor her food diary/log, the user selects the “More Nutrition Facts” link710 and is presented with the restaurant food nutrition details viewcontroller of FIG. 8. The restaurant food nutrition details viewcontroller provides the user with additional data about the selectedfood item match. For example, as shown in FIG. 8, further informationabout fat, cholesterol, and other nutrition details about the exemplary16 oz. “Cool Lime Starbucks Refreshers Beverage” may be obtained on thispage. Further nutrition details about the food item may be presented tothe user when the user scrolls down the page. Alternatively, if thematched food item is a “recipe” (instead of a “food”), the user may bepresented with an additional selection that takes the user to a pagesimilar to the restaurant recipe ingredients view controller 900 of FIG.9.

As will be recognized by those of ordinary skill in the art, portions ofthe methods described herein may be implemented in suitable softwarecode, such as the health tracking app 248, that may reside within ROM,RAM, a hard drive, other memory component, or a combination thereof. Insome embodiments, computer instructions implementing an embodimentdisclosed herein may be stored on a direct access storage device (DASD),magnetic device, disk device, optical storage device, or otherappropriate computer-readable storage medium or storage device. Acomputer program product implementing an embodiment disclosed herein maytherefore comprise one or more computer-readable storage media storingcomputer instructions translatable by processing circuitry/logic 232, aCPU, or other data processing device to perform an embodiment of amethod disclosed herein.

A “computer-readable medium” may be any type of data storage medium thatcan store computer instructions and/or data, including, read-only memory(ROM), random access memory (RAM), hard disks (HD), data cartridges,data backup magnetic tapes, floppy diskettes, flash memory, optical datastorage, CD-ROMs, or the like. The computer readable medium can be, byway of example, only but not by limitation, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,system, device, or computer memory. The computer readable medium mayinclude multiple computer readable media storing computer executableinstructions, such as in a distributed system or instructions storedacross an array.

The foregoing method may be accomplished with the assistance of acomputer program, such as the health tracking app described above,stored in the memory and executed by the processor of the system server230. The above described system and method solves a technologicalproblem common in industry practice related to effective and efficientpresentation of nutritional data to a user. Moreover, theabove-described system and method improves the functioning of thecomputer/device by causing nutritional data to be easily presented to auser in a health tracking system, while also allowing the user tomanipulate the nutritional data or otherwise make use of the nutritionaldata in the manner that he or she sees fit.

In the foregoing description, various operations may be described asmultiple discrete actions or operations in turn, in a manner that may behelpful in understanding the claimed subject matter. However, the orderof description should not be construed as to imply that these operationsare necessarily order dependent. In particular, these operations may notbe performed in the order of presentation. Operations described may beperformed in a different order than the described embodiment. Variousadditional operations may be performed and/or described operations maybe omitted in additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C). Additionally, the phrases “in anembodiment,” “in at least one embodiment,” or “in embodiments,” may eachrefer to one or more of the same or different embodiments. Furthermore,the terms “comprising,” “including,” “having,” and the like, as usedwith respect to embodiments of the present disclosure, are synonymous.

The foregoing detailed description of one or more exemplary embodimentsof the activity tracking device and associated display has beenpresented herein by way of example only and not limitation. It will berecognized that there are advantages to certain individual features andfunctions described herein that may be obtained without incorporatingother features and functions described herein. Moreover, it will berecognized that various alternatives, modifications, variations, orimprovements of the above-disclosed exemplary embodiments and otherfeatures and functions, or alternatives thereof, may be desirablycombined into many other different embodiments, systems or applications.Presently unforeseen or unanticipated alternatives, modifications,variations, or improvements therein may be subsequently made by thoseskilled in the art which are also intended to be encompassed by theappended claims. Therefore, the spirit and scope of any appended claimsshould not be limited to the description of the exemplary embodimentscontained herein.

What is claimed is:
 1. A method of providing nutritional data for auser, the method comprising: receiving geo-location data for the user,the geo-location data sent from a personal electronic device associatedwith the user; determining if the user is within a premises of arestaurant based on the geo-location data; when the user is within thepremises of the restaurant, receiving the restaurant as an automaticallyselected restaurant from a personal electronic device; providing menudata for the user based on the selected restaurant; receiving a selectedmenu item from the personal electronic device; associating the selectedmenu item with a plurality of crowd-sourced food items in a databasebased at least in part on one or more of the plurality of crowd-sourcedfood items being previously selected in association with the selectedmenu item; displaying the plurality of crowd-sourced food items for theuser; receiving a selected one of the plurality of crowd-sourced fooditems from the personal electronic device; displaying nutritional databased on the selected one of the plurality of crowd-sourced food items;receiving an edit from the user for the selected one of the plurality ofcrowd-sourced food items; creating a new food item based on the receivededit from the user for the selected one of the plurality ofcrowd-sourced food items; and prohibiting edits of the selected one ofthe plurality of crowd-sourced food items from the user when the user isnot within the premises of the restaurant associated with the selectedone of the plurality of crowd-sourced food items.
 2. The method of claim1 further comprising, before receiving the selected restaurant for theuser, providing restaurant data for the user, the restaurant data basedat least in part on the geo-location data.
 3. The method claim 1 whereinthe personal electronic device is a GPS enabled device.
 4. The method ofclaim 1 wherein the plurality of crowd-sourced food items include foodentries and recipe entries, wherein each of the recipe entries includesan editable list of ingredients, and each of the food entries does notinclude an editable list of ingredients.
 5. The method of claim 1wherein each of the plurality of crowd-sourced food items associatedwith the selected menu item is provided for display on the personalelectronic device as a match, and wherein a predetermined number ofmatches are provided for each selected menu item.
 6. A system forproviding nutritional data to a user, the system comprising: a personalelectronic device configured to (i) receive geo-location signals andprovide geo-location data for the user, (ii) display menu items,crowd-sourced food items, and nutritional data on a display device, and(iii) allow the user to select menu items and food items on the displaydevice; a database configured to store the food items and thenutritional data; and a data processing system configured to (i) receivegeo-location data for the user from the personal electronic device, (ii)determine when the user is within a premises of a restaurant based onthe geo-location data, (iii) when the user is within the premises of therestaurant, retrieve and display menu items associated with therestaurant to the user, (iv) receive menu items selected by the user,(v) associate the selected menu items with a plurality of food items inthe database based at least in part on one or more of the plurality offood items being previously selected in association with the selectedmenu item, (vi) display the plurality of food items to the user on thedisplay device, (vii) receive a selected food item from the user, theselected food item one of the plurality of food items displayed to theuser, and (vii) display nutritional data to the user on the displaydevice, the nutritional data associated with the selected food item; and(viii) prohibit edits to the selected food item when the user is notwithin the premises of the restaurant.
 7. The system of claim 6 whereinthe personal electronic device is a GPS enabled device.
 8. The system ofclaim 6 wherein the data processing system is further configured to:receive an edit from the user for the selected food item; and create anew food item in the database based on the received edit from the user.9. The system of claim 8 wherein the plurality of food items includefood entries and recipe entries, wherein each of the recipe entriesincludes an editable list of ingredients, and each of the food entriesdoes not include an editable list of ingredients.
 10. The system ofclaim 8 wherein the processor is further configured to: prohibit editswhen the user is not within the premises of the restaurant associatedwith the selected one of the plurality of food items.
 11. The system ofclaim 6 wherein the data processing system is further configured toprovide each of the plurality of food items as a match for the selectedmenu item, and provide a predetermined number of matches for eachselected menu item.
 12. A non-transient computer readable mediumcontaining instructions for providing nutritional data by: receivinggeo-location data for the user, the geo-location data sent from apersonal electronic device associated with the user; determining if theuser is within a premises of a restaurant based on the geo-locationdata; when the user is within the premises of the restaurant, receivingthe restaurant as a selected restaurant from a personal electronicdevice; providing menu data for the user based on the selectedrestaurant; receiving a selected menu item from the personal electronicdevice; associating the selected menu item with a plurality ofcrowd-sourced food items in a database based at least in part theplurality of crowd-sourced food items being previously selected inassociation with the selected menu item; providing the plurality ofcrowd-sourced food items for the user by displaying the plurality ofcrowd-sourced food items on a display for selection by the user;receiving a selected one of the plurality of crowd-sourced food itemsfrom the personal electronic device; providing nutritional data based onthe selected one of the plurality of crowd-sourced food items; andprohibiting edits when the user is not within the premises of therestaurant associated with the selected one of the plurality ofcrowd-sourced food items.
 13. The non-transient computer readable mediumof claim 12 further containing instructions for providing nutritionaldata by: providing restaurant data for the user, the restaurant databased at least in part on the geo-location data.
 14. The non-transientcomputer readable medium of claim 12 wherein the personal electronicdevice is a GPS enabled device.